package com.yourenbang.lingyun.transaction.web.domain.dto.manage;

import com.yourenbang.lingyun.constants.enums.ChannelIdEnums;
import com.yourenbang.lingyun.constants.enums.table.PayTransactionEnum;
import com.yourenbang.lingyun.core.base.validator.EnumValue;
import com.yourenbang.lingyun.core.util.json.ToJSON;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

@Data
public class CorrectCardFlagDTO implements Serializable, ToJSON {

    /**
     * 订单号
     */
    @NotBlank(message = "订单号不能为空")
    private String orderNo;

    @NotBlank(message = "userBaseId不能为空")
    private String userBaseId;

    @EnumValue(enumClass = PayTransactionEnum.CardFlagEnum.class,message = "卡类型未通过校验")
    private String cardFlag;

    @EnumValue(enumClass = ChannelIdEnums.class,message = "产品类型未通过校验")
    private Short channelId;

    /**
     * 手续费（元）
     */
    @NotNull(message = "手续费（元）不能为空")
    private BigDecimal transactionFee;

    /**
     * 费率
     */
    @NotNull(message = "费率不能为空")
    private Integer rate;

}
